﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using StructureMap.Configuration.DSL;
using Core.IServices;
using Services;
using Presentation;
using StructureMap.Pipeline;
using System.ServiceModel;
using System.Configuration;
using Microsoft.AspNet.Identity;
using Core.Domain;
using Core.Dtos;
using Core.Factories;
using ProxyServices;
using Core.Context;
using Front.Core.Dtos;
using StructureMap;

namespace DI
{
    public class ProxyServiceRegistry : Registry
    {
        public ProxyServiceRegistry(ILifecycle lifecycle)
        {
            For<IFrontConfig>().LifecycleIs(lifecycle).Use<FrontConfig>();
            For(typeof(IProxyServiceFactory<>)).Singleton().Use(typeof(ProxyServiceFactory<>));          

            For<IUserStore<UserDto, string>>().Use<UserStoreProxyService>();
        }
    }
}
